#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
验证text-tool包的核心功能
"""

import sys
import os

# 添加当前目录到Python路径
sys.path.insert(0, os.path.dirname(__file__))

# 测试导入
try:
    from text_tool import count_words, remove_extra_spaces, fix_symbols, __version__
    print("✅ 成功导入所有模块")
    print(f"版本: {__version__}")
except ImportError as e:
    print(f"❌ 导入失败: {e}")
    sys.exit(1)

def test_word_count():
    """测试字数统计功能"""
    print("\n=== 测试字数统计功能 ===")
    
    # 基本测试
    assert count_words("Hello世界") == 3
    print("✅ 基本中英文混合测试通过")
    
    # 撇号单词测试
    assert count_words("don't worry") == 2
    print("✅ 撇号单词测试通过")
    
    # Word兼容模式测试
    word_result = count_words("Hello世界", word_compatible=True)
    general_result = count_words("Hello世界", word_compatible=False)
    assert word_result != general_result
    print("✅ Word兼容模式测试通过")

def test_remove_extra_spaces():
    """测试空格清理功能"""
    print("\n=== 测试空格清理功能 ===")
    
    # 中文空格清理
    result = remove_extra_spaces("这是 中文 文本")
    assert result == "这是中文文本"
    print("✅ 中文空格清理测试通过")
    
    # 英文空格清理
    result = remove_extra_spaces("This  is  multiple  spaces")
    assert result == "This is multiple spaces"
    print("✅ 英文空格清理测试通过")

def test_fix_symbols():
    """测试符号修复功能"""
    print("\n=== 测试符号修复功能 ===")
    
    # 括号修复测试
    result = fix_symbols("这是中文(1)括号")
    assert "（1）" in result
    print("✅ 中文括号修复测试通过")
    
    # 标点符号修复测试
    result = fix_symbols("中文,逗号,测试")
    assert "，" in result
    print("✅ 标点符号修复测试通过")

def main():
    """主测试函数"""
    print("开始验证 text-tool 包的核心功能...")
    
    try:
        test_word_count()
        test_remove_extra_spaces()
        test_fix_symbols()
        
        print("\n🎉 所有功能测试通过！")
        print("📦 包已准备就绪，可以构建")
        
    except Exception as e:
        print(f"\n❌ 测试失败: {e}")
        import traceback
        traceback.print_exc()
        sys.exit(1)

if __name__ == "__main__":
    main()